package com.example.androidkotlinmvvm.mvvm

import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch

class UserViewModel: ViewModel() {
    // 定义一个 MutableStateFlow 来存储用户信息
    private val _user = MutableStateFlow<User?>(User("111111", "hello"))
    val user: StateFlow<User?> = _user

    // 模拟加载用户信息的方法
    fun loadUser() {
        viewModelScope.launch {
            // 模拟网络请求的延迟
//            delay(2000)
            // 创建一个新的用户对象
            val newUser = User("222222", "word")
            // 更新用户信息
            _user.value = newUser
        }
    }
}